package session

import (
	"myadmin/sys/sysmodels"
	"time"
)

//session 对象
type Session struct {
	User       sysmodels.SysUser      //用户
	CreateTime int64                  //创建时间戳
	ActiveTime int64                  //当前请求时间
	Ip         string                 //请求ip
	ReqNum     int                    //高频请求次数
	Data       map[string]interface{} //其他数据
}

func NewSession() *Session {
	return &Session{
		CreateTime: time.Now().Unix(),
		ActiveTime: time.Now().Unix(),
	}
}

//session接口
type SessionI interface {
	Get(k string) *Session
	Add(session *Session) string
	Update(k string, s *Session)
	UpdateTime(k string, s *Session)
	Del(k string)
}

var Ses SessionI
